Visualisation des données

AbioDEEP

2023-09-22

Présences Only

Liste des espèces observées spontanément dans plusieurs lieux, ne donne donc aucune information sur l’absence d’une espèce dans un lieu précis. Ce jeu de données à la même structure que le dataset PA (voir ci-dessous).

Présences / Absences

Ce jeu de données indique, pour différent lieu, toutes les espèces présentes et indique donc, en même temps, quels sont les espèces absentes.

Jeu de données :

Ce jeu de données contient 85326 observations dont les principales variables sont :

  • “speciesId” Identification de l’espèce enregistré
  • “lat” lattitude de l’observation
  • “long” Longitude de l’observation
  • “date Date de l’observation
  • D’autres variables d’identification, de localisation ou de temporalité
#Appel du jeu de données et résumé
setwd("C:/Users/mbrei/Desktop/MIASHS/TER/R/data")
data <- read.csv2(file="Presences_Absences_train.csv")

datatable(data)
summary(data)
     glcID            gbifID            observer         datasetName       
 Min.   :4988269   Length:85325       Length:85325       Length:85325      
 1st Qu.:5095338   Class :character   Class :character   Class :character  
 Median :5201965   Mode  :character   Mode  :character   Mode  :character  
 Mean   :5239963                                                           
 3rd Qu.:5321044                                                           
 Max.   :5704919                                                           
     date             dayOfYear          year          lon           
 Length:85325       Min.   :  4.0   Min.   :2017   Length:85325      
 Class :character   1st Qu.:120.0   1st Qu.:2017   Class :character  
 Mode  :character   Median :170.0   Median :2018   Mode  :character  
                    Mean   :176.1   Mean   :2019                     
                    3rd Qu.:240.0   3rd Qu.:2019                     
                    Max.   :360.0   Max.   :2021                     
     lat             x_EPSG3035         y_EPSG3035        geoUncertaintyInM 
 Length:85325       Length:85325       Length:85325       Length:85325      
 Class :character   Class :character   Class :character   Class :character  
 Mode  :character   Mode  :character   Mode  :character   Mode  :character  
                                                                            
                                                                            
                                                                            
   speciesId        patchID         timeSerieID     
 Min.   :    1   Min.   :  55880   Min.   :3980325  
 1st Qu.: 2509   1st Qu.: 128751   1st Qu.:3984318  
 Median : 5263   Median :3009666   Median :3989603  
 Mean   : 5121   Mean   :2253840   Mean   :3990425  
 3rd Qu.: 7792   3rd Qu.:3015321   3rd Qu.:3995796  
 Max.   :10039   Max.   :3018859   Max.   :4008155  

Fréquence d’observations

#Tableau de contingence et histogramme
table <- data.frame(sort(table(data$speciesId),decreasing=T)[1:100])
colnames(table) <- c(var1="Id de l'espèce",Freq="Nombre d'observations") 
head(table)
  Id de l'espèce Nombre d'observations
1           4284                  1925
2           8935                  1885
3           5959                  1564
4            386                  1182
5           5314                  1023
6           6837                   984
hist(data$speciesId,freq=T,breaks=500)
Nombre d'observations selon l'espèce

Nombre d’observations selon l’espèce

Visualisation de l’espèce la plus observée

#Nouveau df avec uniquement l'espèce 4284
species1 <- data[which(data$speciesId==4284),]

#Transformer la var date en type date
species1$date <- as.Date(data[which(data$speciesId==4284),]$date, format = "%d/%m/%Y")

#Nombre d'observations lors de l'étude
ggplot(species1, aes(x = date)) +
  geom_histogram(binwidth = 50, fill = "white", color = "black") +
  labs(title = "Evolution de nomvbre d'observations en fonction de l'année de l'espèce 4284",
       x = "Date",
       y = "Nombre d'observations")
Evolution de nombre d'observations en fonction des années de l'espèce 4284

Evolution de nombre d’observations en fonction des années de l’espèce 4284

Observation de patchID

#On s'intéresse aux coordoonées, patchID et lat/long
str(data)
'data.frame':   85325 obs. of  15 variables:
 $ glcID            : int  5140269 5279421 5058088 5146840 5255062 5276156 5109593 5299769 5068606 5265805 ...
 $ gbifID           : chr  "3473384501.0" "3474158882.0" "3475680391.0" "3476162355.0" ...
 $ observer         : chr  "(IGN)" "(IGN)" "(IGN)" "(IGN)" ...
 $ datasetName      : chr  "Inventaire forestier IGN" "Inventaire forestier IGN" "Inventaire forestier IGN" "Inventaire forestier IGN" ...
 $ date             : chr  "31/01/2018" "19/07/2017" "26/09/2017" "20/09/2017" ...
 $ dayOfYear        : int  31 200 269 263 261 85 52 143 287 177 ...
 $ year             : int  2018 2017 2017 2017 2019 2019 2019 2018 2019 2017 ...
 $ lon              : chr  "7.30079" "1.48339" "6.73957" "4.58714" ...
 $ lat              : chr  "48.29273" "42.92599" "47.39633" "45.40615" ...
 $ x_EPSG3035       : chr  "4120673.0" "3625340.0" "4074778.2856716" "3897015.0" ...
 $ y_EPSG3035       : chr  "2801353.0" "2241565.0" "2703501.66316011" "2492494.0" ...
 $ geoUncertaintyInM: chr  "1.0" "1.0" "1.0" "1.0" ...
 $ speciesId        : int  6574 6574 6574 6574 6574 6574 6574 6574 6574 6574 ...
 $ patchID          : int  3018575 3011783 3018192 3015541 3018391 3018559 3015509 3015451 3011549 3018581 ...
 $ timeSerieID      : int  3980325 3980331 3980335 3980336 3980351 3980357 3980361 3980362 3980363 3980371 ...
patch <- as.factor(data$patchID)

class(patch)
[1] "factor"
length(unique(patch))
[1] 5138
data_patch <- data.frame(table(patch))

colnames(data_patch) <- c("PatchID", "Fréquence")

# Triez le dataframe par le nombre d'apparitions, de la plus vue à la moins vue
data_patch <- data_patch[order(-data_patch$Fréquence), ]
datatable(data_patch)

Observation selon jour de l’année

#DatofYear
doy <- data.frame(table(data$dayOfYear))
colnames(doy) <- c("DayofYear","Effectif")
datatable(doy)
hist(data$dayOfYear)

data_year <- data.frame(DayofYear=data$dayOfYear,Year=data$year)

# Créez un graphique à barres groupées avec ggplot2
ggplot(data_year, aes(x = DayofYear, fill=factor(Year))) +
  geom_histogram(alpha=0.5,position="stack",colour="black") + 
  labs(title="Nombre d'observations en fonction du jour de l'année",x = "Jour de l'année", y = "Efectif", fill="Année")+
  scale_fill_manual(values=c("#000000","#000060","#004EFF","#00BCFF","#C0C0C0"))+
  geom_vline(xintercept = c(80, 170, 266, 353), color = "red") +
  annotate("text", x = c(120,200,300,20), y = 8000, 
           label = c("Printemps", "Été", "Automne","Hiver"), color = "red")

Variables qualitatives :

Pour chaque observation d’une espèce nous possédons des données géographiques et environnementales spatialisées.

Imagerie satellite

image satellite 128x128 à quatre bandes à une résolution de 10m autour du lieu d’occurrence

Série temporel satellite

valeurs passées pour six bandes satellites à l’emplacement du point

Image matricielle environnementale

Variables climatiques et pédologiques, l’utilisation des terres et l’empreinte humain